DEFINITION MODULE FastStorage ;

FROM SYSTEM IMPORT ADDRESS ;

PROCEDURE ALLOCATE( VAR p : ADDRESS ; size : LONGINT ) ;
(* Like Storage.ALLOCATE but much faster.				 *)
(* Allocates memory in blocks of 16K. And chops them up as required.     *)
(* This avoids calling the OS every time you need 16bytes of memory etc. *)
(* If you ask for more than 16K in one go, then this will be allocated   *)
(* as normal.							         *)
(* The disadvantage is that all the allocated memory can only be freed   *)
(* at program exit						         *)
(* DO NOT TRY TO FREE ANY MEMORY ALLOCATED USING THIS PROCEDURE !!	 *)
(* It will be freed for you when the program terminates.		 *)

END FastStorage.
